package com.wanxi.web.service.coupon;

import com.wanxi.coupon.api.query.*;
import com.wanxi.coupon.api.result.CommonResult;
import com.wanxi.coupon.api.vo.*;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * ClassName: CouponWebService
 * Description:
 * date: 2022/1/12 18:09
 *
 * @author lxl
 * @version 1.0
 * @since JDK 1.8
 */
public interface CouponWebService {


    /**
     * @Author lxl
     * @Description // 管理员根据给定参数查询对应的优惠券信息接口
     * @Date  2021/12/31 10:55
     * @Params  * @param CouponAdminQuery
     * @return UserResult
     **/

    CommonResult adminFindAll( CouponAdminQuery couponAdminQuery);

    /**
     * @Author lxl
     * @Description //管理员根据给定参数查询对应的优惠券统计信息接口
     * @Date  2021/12/31 10:55
     * @Params  * @param CouponAdminStatisticQuery
     * @return UserResult
     **/

    CommonResult adminFindStatistic( CouponAdminStatisticQuery couponAdminStatisticQuery) ;

    /**
     * @Author lxl
     * @Description //管理员通过id查询优惠券信息接口
     * @Date  2021/12/31 10:55
     * @Params  * @param id
     * @return UserResult
     **/
    CommonResult adminFindById(@RequestParam("id") Long id);

    /**
     * @Author lxl
     * @Description //管理员添加优惠券信息接口
     * @Date  2021/12/31 10:55
     * @Params  * @param CouponAdminTDO
     * @return UserResult
     **/
    CommonResult adminAdd( CouponAdminTDO couponAdminTDO) ;

    /**
     * @Author lxl
     * @Description 管理员删除优惠券信息接口
     * @Date  2021/12/31 10:55
     * @Params  * @param id
     * @return UserResult
     **/
    CommonResult adminDelete(Integer id);

    /**
     * @Author lxl
     * @Description  管理员查询优惠券条数接口
     * @Date  2021/12/31 10:55
     * @Params  * @param CouponAdminQuery
     * @return UserResult
     **/
    CommonResult adminGetCount( CouponAdminQuery couponAdminQuery);

    /**
     * @Author lxl
     * @Description  商家按条件查询优惠券信息接口
     * @Date  2021/12/31 10:55
     * @Params  * @param CouponEnterpriseQuery
     * @return UserResult
     **/
    CommonResult enterpriseFindAll( CouponEnterpriseQuery coupon) ;

    /**
     * @Author lxl
     * @Description  商家按条件查询优惠券统计信息接口
     * @Date  2021/12/31 10:55
     * @Params  * @param CouponEnterpriseStatisticQuery
     * @return UserResult
     **/
    CommonResult enterpriseFindStatistic( CouponEnterpriseStatisticQuery coupon);

    /**
     * @Author lxl
     * @Description  商家通过id查询优惠券信息接口
     * @Date  2021/12/31 10:55
     * @Params  * @param id 优惠券id
     * @return UserResult
     **/
    CommonResult <List<CouponEnterpriseVo>> enterpriseFindById( Long id);

    /**
     * @Author lxl
     * @Description  商家添加优惠券接口
     * @Date  2021/12/31 10:55
     * @Params  * @param CouponEnterpriseTDO
     * @return UserResult
     **/
    CommonResult enterpriseAdd(CouponEnterpriseTDO coupon);

    /**
     * @Author lxl
     * @Description  商家通过id删除优惠券信息接口
     * @Date  2021/12/31 10:55
     * @Params  * @param id
     * @return UserResult
     **/
    CommonResult enterpriseDelete( Integer id);

    /**
     * @Author lxl
     * @Description  商家按条件查询优惠券条数接口
     * @Date  2021/12/31 10:55
     * @Params  * @param CouponEnterpriseQuery
     * @return UserResult
     **/
    CommonResult enterpriseGetCount( CouponEnterpriseQuery coupon);
}
